/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/<a href="https://www.kaaction.com">KAA</a>"><a href="https://www.kaaction.com">KAA</a></a> All rights reserved.
 */
package com.kaaction.modules.ka.service;

import java.util.List;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.kaaction.common.persistence.Page;
import com.kaaction.common.service.CrudService;
import com.kaaction.modules.ka.entity.ProductOutDetail;
import com.kaaction.modules.ka.entity.Statistics;
import com.kaaction.modules.ka.dao.ProductOutDetailDao;

/**
 * 货品出库明细Service
 * @author huanghaiming
 * @version 2017-04-26
 */
@Service
@Transactional(readOnly = true)
public class ProductOutDetailService extends CrudService<ProductOutDetailDao, ProductOutDetail> {

	public ProductOutDetail get(String id) {
		return super.get(id);
	}
	
	public List<ProductOutDetail> findList(ProductOutDetail productOutDetail) {
		return super.findList(productOutDetail);
	}
	
	public Page<ProductOutDetail> findPage(Page<ProductOutDetail> page, ProductOutDetail productOutDetail) {
		return super.findPage(page, productOutDetail);
	}
	
	@Transactional(readOnly = false)
	public void save(ProductOutDetail productOutDetail) {
		super.save(productOutDetail);
	}
	
	@Transactional(readOnly = false)
	public void delete(ProductOutDetail productOutDetail) {
		super.delete(productOutDetail);
	}

	@Transactional(readOnly = false)
	public void updateLogistics(ProductOutDetail productOutDetail) {
		super.dao.updateLogistics(productOutDetail);
	}
	
	@Transactional(readOnly = false)
	public void saveSalesReturn(ProductOutDetail productOutDetail) {
		
		

		super.dao.updateId(productOutDetail);
		
		
		productOutDetail.preInsert();
		super.dao.insertSalesReturn(productOutDetail);
		
		String state = productOutDetail.getState();
		if("0".equals(state)){
			productOutDetail.setState("6");
		}else if("1".equals(state)){
			productOutDetail.setState("7");
		}else{
			return;
		}
		super.dao.insertProductManage(productOutDetail);
		super.dao.insertProInstockDtl(productOutDetail);
	}

	public List<ProductOutDetail> findProductOutDetail(ProductOutDetail productOutDetail) {
		return super.findList(productOutDetail);
	}

	public int getCount(ProductOutDetail productOutDetail) {
		return super.dao.getCount(productOutDetail);
	}

	public Statistics selStatistics(ProductOutDetail productOutDetail) {
		return super.dao.selStatistics(productOutDetail);
	}
	
}